<?php
include_once dirname(dirname(__FILE__)) . '/clases/class_carrito.php';
include_once dirname(dirname(__FILE__)) . '/filtro_usuario.php';
include_once dirname(dirname(__FILE__)) . '/funciones/basicas.php';
include_once dirname(dirname(__FILE__)) . '/funciones/funcionescarrito.php';
include_once dirname(dirname(__FILE__)) . '/funciones/helpers.php';

$conexion = conectar();

/**
  @description, ingresa productos de cotizacion a la bd
  @param $nCotizacion , Número de la cotizacion
  @param $cod_cli , codigo del cliente
 * */
function ingresa_productos_cotizacion($nCotizacion, $cod_cli, $carrito) {
    $suma = 0;
    for ($i = 0; $i < $carrito->getnum_producto(); $i++) {
        if ($carrito->getcod_prod($i) != -1 && $carrito->getcantidad($i) > 0) {
            $codigop = $carrito->getcod_prod($i);
            $precio = $carrito->getprecio_venta($i);
            $descuento = $carrito->getdescuento($i);
            $neto = $carrito->getneto($i); //neto
            $cantidad = $carrito->getcantidad($i);
            $iva = $carrito->getiva($i);
            $total = $carrito->gettotal($i);
            $nombre = $carrito->getnombre_prod($i);
            $suma = $suma + $neto;

            //ingresa producto de la factura a la bd.
            $sql = "INSERT INTO cotizacion_producto(id_cotizacion,cod_prod,nombre,cantidad,precio_unitario,descuento,neto,iva,total)
                    VALUES ('$nCotizacion','$codigop','$nombre','$cantidad','$precio','$descuento','$neto','$iva','$total')";

            $consulta = mysql_query($sql)or die(mysql_error());

            if (!$consulta) {
                return FALSE;
            }
        }
    }

    $iva = round($suma * 0.19);
    $total = round($suma * 1.19);
    //actualiza el total el neto y el iva cotizacion.
    $sql = "UPDATE cotizacion SET total='$total',neto='$suma',iva='$iva' WHERE id_cotizacion='$nCotizacion'";
    $consulta = mysql_query($sql)or die("Error al actualizar los totales de la cotizacion");
    //si la consulta es exitosa se retorna verdadero sino falso.
    if ($consulta) {
        return TRUE;
    }

    return FALSE;
}

//Funcion que destruye las sesiones al terminar
function destroy() {
    unset($_SESSION['carrito_cotizacion']);
    unset($_SESSION['c_descuento']);
    unset($_SESSION['c_pago']);
    unset($_SESSION['c_cliente']);
    unset($_SESSION['c_fecha']);
    unset($_SESSION['c_cod_cli']);
    unset($_SESSION['c_comentario']);
    unset($_SESSION['c_entrega']);
}

/* ingresa el producto seleccionado */
if (isset($_POST['ingresar']) || isset($_POST['ingresar_x'])) {
    //Datos que deben mantenerse en el formulario, se guardan en sesiones
    $_SESSION['c_fecha'] = trim($_POST['fecha']);
    $_SESSION['c_cliente'] = trim($_POST['cliente']);
    $_SESSION['c_cod_cli'] = trim($_POST['cod_cli']);
    $_SESSION['c_pago'] = trim($_POST['pago']);
    $_SESSION['c_descuento'] = trim($_POST['descuento']);
    $_SESSION['c_comentario'] = trim($_POST['comentario']);
    $_SESSION['c_entrega'] = trim($_POST['entrega']);

    //Reciben datos del producto para ingresarlos al carrito
    $descuento = $_SESSION['c_descuento'];
    $producto = trim($_POST['producto']);
    $codigop = trim($_POST['codigop']);
    $cantidad = trim($_POST['cantidad']);
    $precio = trim($_POST['precio']);

    //comprueba que no esten vacio los datos
    if ($descuento != "" && $codigop && $producto && $cantidad && $precio) {
        $_SESSION["carrito_cotizacion"]->introduce_producto(1, $codigop, $cantidad, $descuento, $precio, $producto, 1);
        //<script>setTimeout("window.location='orden_de_compra.php'")</script><?php
    } else {
        ?><script>alert("Debe llenar todos los campos");</script><?php
    }
}
//Si presiona terminar
if (isset($_POST['terminar']) || isset($_POST['terminar_x'])) {
    //Aisgna nuevamente las sesiones si es que se han modificado
    $_SESSION['c_fecha'] = trim($_POST['fecha']);
    $_SESSION['c_cliente'] = trim($_POST['cliente']);
    $_SESSION['c_cod_cli'] = trim($_POST['cod_cli']);
    $_SESSION['c_pago'] = trim($_POST['pago']);
    $_SESSION['c_descuento'] = trim($_POST['descuento']);
    $_SESSION['c_comentario'] = trim($_POST['comentario']);
    $_SESSION['c_entrega'] = trim($_POST['entrega']);

    $fecha = $_SESSION['c_fecha'];
    $cliente = $_SESSION['c_cliente'];
    $cod_cli = $_SESSION['c_cod_cli'];
    $pago = $_SESSION['c_pago'];
    $descuento = $_SESSION['c_descuento'];
    $estado = "";
    $vendedor = $_SESSION['usuario'];
    $comentario = $_SESSION['c_comentario'];
    $entrega = $_SESSION['c_entrega'];


    if ($cod_cli && $fecha && $pago != "" && $vendedor && $entrega) {
        //comprueba que hayan productos en el carrito
        if (!$_SESSION['carrito_cotizacion']->vacio()) {

            mysql_query("BEGIN");
            //ingresa los datos de la orden a la BD
            $sql = "INSERT INTO cotizacion (cod_cli,fecha_emision,forma_pago,entrega,comentario,cod_vendedor)
                   VALUES ('$cod_cli',NOW(),'$pago','$entrega','$comentario','$vendedor')";
            $consulta = mysql_query($sql, $conexion)or die("Error al ingresar cotizacion");

            //Obtiene el Id de la orden de compra
            $ultimoId = mysql_query("SELECT LAST_INSERT_ID() as id FROM cotizacion", $conexion)or die("error al obtener ultimo ID");
            $nCotizacion = mysql_fetch_array($ultimoId);

            //si se ingresan exitosamente se ingresan los productos.
            if ($consulta) {

                $ingreso = ingresa_productos_cotizacion($nCotizacion['id'], $cod_cli, $_SESSION['carrito_cotizacion']);

                //Si se ingresaron los productos, se genera el pdf
                if ($ingreso) {
                    mysql_query("COMMIT");
                    destroy();
                    ?>
                    <html>
                        <head>
                            <title>Crear Cotizacion</title>
                    <?php include_once dirname(dirname(__FILE__)) . '/header.php'; ?>
                        </head>
                        <body>
                    <?php dialogoImprimirPDF("Cotizacion ingresada correctamente.", $_SESSION['BASE'] . '/cotizacion/pdf_cotizacion.php?nCotizacion=' . $nCotizacion['id'], $_SESSION['BASE'] . '/img/printer.png'); ?>
                        </body>
                    </html>
                    <?php
                    die();
                } else {
                    ?>
                    <script>
                        alert("Error al ingresar un producto.");
                    </script>
                    <?php
                }
            }
        } else {
            ?><script>alert("No ha ingresado productos");</script><?php
        }
    } else {
        ?><script>alert("Faltan datos");</script><?php
    }
}
//Si presiona cancelar
if (isset($_POST['cancelar']) || isset($_POST['cancelar_x'])) {
    //destruye variables de sesion y vuelve al menu.
    destroy();
}

//Si no esta creado el carrito lo crea
if (!isset($_SESSION['carrito_cotizacion'])) {
    $_SESSION['carrito_cotizacion'] = new carrito();
}
mysql_close($conexion);
?>

<html>
    <head>
        <title>Crear Cotizacion</title>
<?php include_once dirname(dirname(__FILE__)) . '/header.php' ?>
        <script language="javascript">

        //Dialogo de confirmacion para cancelar o terminar una orden
            function opcion(op)
            {
                switch (op)
                {
                    case 'terminar':
                        {
                            ventana = confirm("¿Está Seguro(a) de ingresar esta Cotización?");

                            if (ventana)
                            {
                                return true;
                            }
                            else
                            {
                                return false;
                            }
                            break;
                        }
                    case 'cancelar':
                        {
                            ventana = confirm("¿Está Seguro(a) de cancelar esta Cotización?");

                            if (ventana)
                            {
                                return true;
                            }
                            else
                            {
                                return false;
                            }
                            break;
                        }
                    default:
                        {
                            return false;
                            break;

                        }
                }
            }

        //Valida cada campo del formulario
            function valida()
            {
                var F = document.formulario;

                if (vacio(F.fecha.value) == false)
                {
                    alert("Introduzca fecha.");
                    F.fecha.focus();
                    return false
                }
                if (vacio(F.cliente.value) == false)
                {
                    alert("Introduzca cliente.");
                    F.cliente.focus();
                    return false
                }

                if (vacio(F.codigop.value) == false)
                {
                    alert("Introduzca codigo producto.");
                    F.codigop.focus();
                    return false
                }
                if (vacio(F.producto.value) == false)
                {
                    alert("Introduzca producto.");
                    F.producto.focus();
                    return false
                }
                if (vacio(F.precio.value) == false)
                {
                    alert("Introduzca precio.");
                    F.precio.focus();
                    return false
                }
                if (vacio(F.cantidad.value) == false)
                {
                    alert("Introduzca cantidad.");
                    F.cantidad.focus();
                    return false
                }
                if (vacio(F.descuento.value) == false)
                {
                    alert("Introduzca descuento.");
                    F.descuento.focus();
                    return false
                }
                if (vacio(F.pago.value) == false)
                {
                    alert("Introduzca pago.");
                    F.pago.focus();
                    return false
                }
                if (vacio(F.cod_cli.value) == false)
                {
                    alert("Introduzca codigo de cliente.");
                    F.cod_cli.focus();
                    return false
                }
                else
                {
                    // alert("OK");
                    return true;
                }

            }


        </script>
        <!--fin funciones javascript-->

        <style type="text/css">
            <!--
            .style3 {font-size: 14px}
            -->
        </style>
    </head>
    <body>

        <!--Formulario de cotizacion-->
        <form name="formulario" action="cotizacion.php" method="post">
            <div style=" position: absolute; width:100%; height: 70px; border-bottom: solid 1px;">
                <div style="float: left;">
                    <font size="+2" color="#000000" face="Arial, Helvetica, sans-serif" ><b>Cotizacion</b></font>
                </div>
                <div style="float: right;">
                    <input type="image" src="<?php echo $_SESSION['BASE'] . '/img/ingresar.png' ?>" id="login" name="ingresar" value="Ingresar" onclick="return valida();">
                    <input type="image" src="<?php echo $_SESSION['BASE'] . '/img/cancelar.png' ?>" id="login" name="cancelar" value="Cancelar" onClick="return opcion('cancelar');">
                    <input type="image" src="<?php echo $_SESSION['BASE'] . '/img/terminar.png' ?>" id="login" name="terminar" value="Terminar" onClick="return opcion('terminar');">
                    <input type="image" src="<?php echo $_SESSION['BASE'] . '/img/buscar.png' ?>" id="login" onClick="javascript:show('<?php echo $_SESSION['BASE'] . '/cotizacion/buscador_cotizacion.php' ?>', 600, 400, 1);
        return false;">
                </div>
            </div>
            <div class="medidas" style="position:absolute;top:100px;left:10px;">
                Fecha:<br><input type="text" name="fecha" value="<?php echo date("d-m-Y"); ?>" onFocus="blur()">
            </div>
            <div class="medidas" style="position:absolute;top:100px;left:240px;">
                Tiempo de entrega:<br><input type="text" name="entrega" value="<?php if (isset($_SESSION['c_entrega'])) echo $_SESSION['c_entrega']; ?>" />
            </div>
            <div style="position:absolute;top:150px;left:18px; width:400px;">
                Cliente:<br><input size="57" name="cliente" value="<?php if (isset($_SESSION['c_cliente'])) echo $_SESSION['c_cliente']; ?>" onfocus="blur()" />
            </div>
            <div class="medidas" style="position:absolute;top:180px;left:10px;">
                Codigo:<br><input style="width: 100px;" type="text" id="codigop" name="codigop"  /></p>
            </div>
            <div class="medidas" style="position:absolute;top:180px;left:140px;">
                Producto:<br><input style="width: 300px;" type="text" id="producto" name="producto" value="" /></p>
            </div>
            <div class="medidas" style="position:absolute;top:220px;left:10px;">
                Precio:<br><input style="width: 100px;" type="text" name="precio" id="precio" value=""></p>
            </div>
            <div class="medidas" style="position:absolute;top:220;left:140px;">
                Cantidad:<br><input style="width: 100px;" type="text" id="cantidad" name="cantidad" value="">
            </div>
            <div class="medidas" style="position:absolute;top:220px;left:260px">
                % Desc.:<br><input style="width: 90px;" name="descuento" id="descuento" type="text" value="<?php if (isset($_SESSION['c_descuento'])) echo $_SESSION['c_descuento'];
else echo 0; ?>" size="7">
            </div>
            <div class="medidas" style="position:absolute;top:220px;left:370px;">
                Pago:
                <br>
                <select id="select" name="pago" >
<?php
$forma_de_pago = array('Efectivo' => '0', '30 Dias' => '30', '45 Dias' => '45', '60 Dias' => '60', '90 Dias' => '90');
while (list($i, $valor) = each($forma_de_pago)) {
    if ($_SESSION['c_pago'] == $valor)
        echo "<option selected=selected value=" . $valor . ">" . $i . "</option>";
    else
        echo "<option value=" . $valor . ">" . $i . "</option>";
}
?>
                </select>
            </div>
            <input type="hidden" name="cod_cli" value="<?php if (isset($_SESSION['c_cod_cli'])) echo $_SESSION['c_cod_cli']; ?>" />

            <div style="position:absolute;top:270px;left:18px;">
                Comentarios:
                <br /><textarea name="comentario" cols="59"><?php if (isset($_SESSION['c_comentario'])) echo $_SESSION['c_comentario']; ?></textarea>
            </div>
        </form>
        <!--Fin formulario de orden de compra-->

        <!--Iframe que lista los productos que hay en el carrito-->
        <div style="position:absolute;top:120px;left:520px; border: solid 0px;">
            <iframe name="frame2" src="<?php echo $_SESSION['BASE'] . '/cotizacion/lista_carrito_cotizacion.php' ?>" frameborder="0" width="500" height="350"></iframe>
        </div>
    </body>
</html>